#ifndef QPENPROPERTY_H
#define QPENPROPERTY_H

#include "qabstractproperty.h"

class QIntProperty;
class QEnumProperty;
class QColorProperty;

class SHAREDLIB_EXPORT QPenProperty: public QAbstractProperty
{
    Q_OBJECT
public:
    Q_INVOKABLE QPenProperty(QAbstractProperty* parent=0);

    void            set_value(const QVariant &value);

    QString         get_value_text();
    QIcon           get_value_icon();
    static QString get_property_name();

    bool            cmp(const QVariant &value);
protected:
    void            child_value_changed(const QVariant &old, const QVariant &now);
    void            make_value();
    void            write_value();
protected:
    QEnumProperty   *m_pen_style;
    QEnumProperty   *m_cap_style;
    QEnumProperty   *m_join_style;
    QIntProperty    *m_pen_width;
    QColorProperty  *m_color;
};

#endif // QPENPROPERTY_H
